import java.util.ArrayList;
import java.util.List;

/**
 * 1784. 检查二进制字符串字段
 * https://leetcode-cn.com/problems/check-if-binary-string-has-at-most-one-segment-of-ones/
 */
public class Solutions_1784 {
    public static void main(String[] args) {
        String s1 = "1001";  // output: false
        String s2 = "110";  // output: true

        List<String> inputs = new ArrayList<>();
        inputs.add(s1);
        inputs.add(s2);

        for (String input : inputs) {
            boolean result = checkOnesSegment(input);
            System.out.println(result);
        }
    }

    public static boolean checkOnesSegment(String s) {
        char[] arr = s.toCharArray();
        // 第 1 个 '1' 和最后 1 个 '1' 的位置
        int first = s.indexOf('1');
        int last = s.lastIndexOf('1');
        // 中间若出现字符 '0'，说明连续的字符 '1' 被隔开了，被分成了多段连续的 1
        while (first < last) {
            if (arr[first] == '0') {
                return false;
            }
            first ++;
        }
        return true;
    }
}
